# -*- coding: utf-8 -*-
#
# File: Curriculo.py
#
# Copyright (c) 2008 by LM
# Generator: ArchGenXML Version 1.5.1 svn/devel
#            http://plone.org/products/archgenxml
#
# GNU General Public License (GPL)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#

__author__ = """LM <leonardo.mirandas@gmail.com>"""
__docformat__ = 'plaintext'

from AccessControl import ClassSecurityInfo
from Products.Archetypes.atapi import *
from Products.Archetypes.SQLStorage import *
from Products.LMSkin.config import *

from Products.LMSkin.content.vocabularies import VOCAB_ESTADOS,VOCAB_SEXO

##code-section module-header #fill in your manual code here
##/code-section module-header


schema= Schema((

    StringField('id',
        widget=IdWidget
        (
            visible={'view':'hidden','edit':'hidden'},
            label='Id',
            label_msgid='LMSkin_label_id',
            description='Enter a value for id.',
            description_msgid='LMSkin_help_id',
            i18n_domain='LMSkin',
        ),
    ),
    
    StringField('title',
        widget=StringWidget(
            description="Informe o nome completo.",
            label="Nome",
            label_msgid='LMSkin_label_title',
            description_msgid='LMSkin_help_title',
            i18n_domain='LMSkin',
        ),
        required=1,
        accessor="Title",
        searchable=1,
    ),

    StringField('profissao',
        widget=StringWidget(
            description="Informe a sua profissão.",
            label="Profissão",
            label_msgid='LMSkin_label_profissao',
            description_msgid='LMSkin_help_profissao',
            i18n_domain='LMSkin',
        ),
        required=1,
        index='FieldIndex:brains',
        serchable="1",
    ),

    TextField('description',
        widget=TextAreaWidget(
            label="Observacoes",
            description="Informe uma breve descricao sobre o perfil.",
            label_msgid='LMSkin_label_description',
            description_msgid='LMSkin_help_description',
            i18n_domain='LMSkin',
        ),
        required=1,
        accessor="Description",
        searchable=1,
    ),
    
    StringField('email',
        widget=StringWidget(
            description="Informe seu endereco de e-mail para contato.",
            label="E-Mail",
            label_msgid='LMSkin_label_email',
            description_msgid='LMSkin_help_email',
            i18n_domain='LMSkin',
        ),
        required=1,
        validators=('isEmail',),
        index='FieldIndex:brains',
        serchable="1",
    ),
    
    StringField('website',
        widget=StringWidget(
            description="Informe o endereco de seu sitio da web.",
            label='Website',
            label_msgid='LMSkin_label_website',
            description_msgid='LMSkin_help_website',
            i18n_domain='LMSkin',
        ),
        validators=('isURL',),
    ),
    
    StringField('telefone',
        widget=StringWidget(
            description="Informe seu telefone para contato.",
            label='Telefone',
            label_msgid='LMSkin_label_telefone',
            description_msgid='LMSkin_help_telefone',
            i18n_domain='LMSkin',
        ),
    ),
    
    StringField('rua',
        widget=StringWidget(
            description="Informe o logradouro em que voce reside.",
            label='Rua',
            label_msgid='LMSkin_label_rua',
            description_msgid='LMSkin_help_rua',
            i18n_domain='LMSkin',
        ),
        required=1,
    ),
    
    StringField('bairro',
        widget=StringWidget(
            description="Informe o bairro em que voce reside.",
            label='Bairro',
            label_msgid='LMSkin_label_bairro',
            description_msgid='LMSkin_help_bairro',
            i18n_domain='LMSkin',
        ),
        required=1,
    ),
    
    StringField('cidade',
        widget=StringWidget(
            description="Informe o nome da cidade em que voce reside.",
            label='Cidade',
            label_msgid='LMSkin_label_cidade',
            description_msgid='LMSkin_help_cidade',
            i18n_domain='LMSkin',
        ),
        required=1,
    ),
    
    StringField('cep',
        widget=StringWidget(
            description="Informe o Codigo de Enderecamento Postal em que voce reside.",
            label='Cep',
            label_msgid='LMSkin_label_cep',
            description_msgid='LMSkin_help_cep',
            i18n_domain='LMSkin',
        ),
    ),
    
    StringField('estado',
        widget=SelectionWidget
        (
            format="select",
            description="Informe o Estado em que voce reside.",
            label='Estado',
            label_msgid='LMSkin_label_estado',
            description_msgid='LMSkin_help_estado',
            i18n_domain='LMSkin',
        ),
        enforceVocabulary=1,
        vocabulary=VOCAB_ESTADOS,
        required=1,
    ),
    
    StringField('pais',
        widget=StringWidget(
            description="Informe o pais em que voce reside.",
            label='Pais',
            label_msgid='LMSkin_label_pais',
            description_msgid='LMSkin_help_pais',
            i18n_domain='LMSkin',
        ),
        required=1,
    ),
    
    TextField('contribuicoes',
        widget=TextAreaWidget(
            description="Informe as contribuicoes efetuadas para a comunidade ACV.",
            rows=10,
            label='Contribuicoes',
            label_msgid='LMSkin_label_contribuicoes',
            description_msgid='LMSkin_help_contribuicoes',
            i18n_domain='LMSkin',
        ),
        searchable=1,
    ),

    StringField('sexo',
        widget=SelectionWidget
        (
            description="Informe o seu sexo.",
            label='Sexo',
            label_msgid='LMSkin_label_sexo',
            description_msgid='LMSkin_help_sexo',
            i18n_domain='LMSkin',
        ),
        enforceVocabulary=1,
        vocabulary=VOCAB_SEXO,
        required=1,
    ),
    
    DateTimeField('nascimento',
        widget=CalendarWidget(
            description="Informe a data do seu nascimento.",
            format='%d/%m/%Y',
            date_only=1,
            label='Nascimento',
            label_msgid='LMSkin_label_nascimento',
            description_msgid='LMSkin_help_nascimento',
            i18n_domain='LMSkin',
        ),
    ),
    
    StringField('hobbie',
        widget=StringWidget(
            description="Informe seu(s) hobbie(s).",
            label='Hobbie',
            label_msgid='LMSkin_label_hobbie',
            description_msgid='LMSkin_help_hobbie',
            i18n_domain='LMSkin',
        ),
    ),
    
    ImageField('foto',
        allowable_content_types=('image/*',),
        widget=ImageWidget(
            description="Selecione uma fotografia sua. Tenha cuidado com tamanho e resolução dessa imagem.",
            label='Foto',
            label_msgid='LMSkin_label_foto',
            description_msgid='LMSkin_help_foto',
            i18n_domain='LMSkin',
        ),
        default_output_tipe="image/jpeg",
        storage=AttributeStorage(),
        original_size=(100,75),
    ),

    ImageField('avatar',
        allowable_content_types=('image/*',),
        widget=ImageWidget(
            description="Selecione um avatar seu. Tenha cuidado com tamanho e resolução dessa imagem.",
            label='Avatar',
            label_msgid='LMSkin_label_avatar',
            description_msgid='LMSkin_help_avatar',
            i18n_domain='LMSkin',
        ),
        default_output_tipe="image/jpeg",
        storage=AttributeStorage(),
        original_size=(81,78),
        required=1,
    ),

    TextField('idiomas',
        widget=TextAreaWidget(
            description="Informe os idiomas que conhece e o grau de conhecimento desses idiomas.",
            rows=3,
            label='Idiomas',
            label_msgid='LMSkin_label_idiomas',
            description_msgid='LMSkin_help_idiomas',
            i18n_domain='LMSkin',
        ),
    ),
    
    TextField('formacao',
        widget=TextAreaWidget(
            description="Informe sua formação.",
            rows=5,
            label='Formação',
            label_msgid='LMSkin_label_formacao',
            description_msgid='LMSkin_help_formacao',
            i18n_domain='LMSkin',
        )
    ),
 
    TextField('cursos',
        widget=RichWidget(
            description="Informe os seus cursos.",
            rows=5,
            label='Cursos',
            label_msgid='LMSkin_label_cursos',
            description_msgid='LMSkin_help_cursos',
            i18n_domain='LMSkin',
        ),
        default_output_type='text/html',
        allowable_content_types=('text/plain', 'text/structured', 'text/html', 'application/msword',),
    ), 
    
    TextField('experiencias',
        widget=RichWidget(
            description="Informe sua experiência profissional.",
            label='Experiências',
            label_msgid='LMSkin_label_experiencias',
            description_msgid='LMSkin_help_experiencias',
            i18n_domain='LMSkin',
        ),
        default_output_type='text/html',
        required=1,
        searchable=1,
        allowable_content_types=('text/plain', 'text/structured', 'text/html', 'application/msword',),
    ),
    
),
)

##code-section after-local-schema #fill in your manual code here
##/code-section after-local-schema

Curriculo_schema = BaseSchema.copy() + \
    schema.copy()

##code-section after-schema #fill in your manual code here
##/code-section after-schema

class Curriculo(BaseContent):
    """
    """
    security = ClassSecurityInfo()
    __implements__ = (getattr(BaseContent,'__implements__',()),)

    # This name appears in the 'add' box
    archetype_name = 'Curriculo'

    meta_type = 'Curriculo'
    portal_type = 'Curriculo'
    allowed_content_types = []
    filter_content_types = 0
    global_allow = 1
    #content_icon = 'Curriculo.gif'
    immediate_view = 'base_view'
    default_view = 'base_view'
    suppl_views = ()
    typeDescription = "Curriculo"
    typeDescMsgId = 'description_edit_curriculo'

    _at_rename_after_creation = True

    schema = Curriculo_schema

    ##code-section class-header #fill in your manual code here
    ##/code-section class-header

    # Methods

registerType(Curriculo, PROJECTNAME)
# end of class Curriculo

##code-section module-footer #fill in your manual code here
##/code-section module-footer



